home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / CODING / 80X86 / ASMFAQ.ZIP / ASM_FAQ5.TXT < prev    next >
Encoding:
Internet Message Format  |  1996-04-03  |  10.6 KB

  1. From news.primenet.com!nntp.news.primenet.com!news.sprintlink.net!gryphon.phoenix.net!academ!binky.capnet.state.tx.us!goblin.tdh.state.tx.us!geraldo.cc.utexas.edu!cs.utexas.edu!math.ohio-state.edu!howland.reston.ans.net!vixen.cso.uiuc.edu!newsfeed.internetmci.com!sgigate.sgi.com!news1.best.com!news.aimnet.com!ns2.mainstreet.net!sloth.swcp.com!news.dgsys.com!DGS.dgsys.com!raymoon Tue Apr  2 15:45:00 1996
  2. Path: news.primenet.com!nntp.news.primenet.com!news.sprintlink.net!gryphon.phoenix.net!academ!binky.capnet.state.tx.us!goblin.tdh.state.tx.us!geraldo.cc.utexas.edu!cs.utexas.edu!math.ohio-state.edu!howland.reston.ans.net!vixen.cso.uiuc.edu!newsfeed.internetmci.com!sgigate.sgi.com!news1.best.com!news.aimnet.com!ns2.mainstreet.net!sloth.swcp.com!news.dgsys.com!DGS.dgsys.com!raymoon
  3. From: raymoon@dgsys.com (Raymond Moon)
  4. Newsgroups: alt.lang.asm,comp.lang.asm.x86,news.answers,alt.answers,comp.answers
  5. Subject: x86 Assembly Language FAQ - Microsoft MASM
  6. Supersedes: <4gdsnm$o9c@news.dgsys.com>
  7. Followup-To: alt.lang.asm,comp.lang.asm.x86
  8. Date: 21 Mar 1996 22:51:17 GMT
  9. Organization: MoonWare
  10. Lines: 242
  11. Approved: news-answers-request@MIT.EDU
  12. Distribution: world
  13. Expires: Sat, 20 Apr 1996 23:59:59 GMT
  14. Message-ID: <4ismh5$2tq@news.dgsys.com>
  15. Reply-To: raymoon@moonware.dgsys.com
  16. NNTP-Posting-Host: dgs.dgsys.com
  17. Summary: This is the FAQ for the x86 Assembly Language programmers for the
  18.  alt.lang.asm and comp.lang.asm.x86 newsgroups.  This particular section of
  19.  the FAQ contains x86 assembly information specific to the Microsoft MASM
  20.  assembler.
  21. Keywords: x86 Assemby Language ASM FAQ Microsoft MASM
  22. X-Newsreader: TIN [version 1.2 PL2]
  23. Xref: news.primenet.com alt.lang.asm:8423 comp.lang.asm.x86:18600 news.answers:66833 alt.answers:16275 comp.answers:17532
  24.  
  25. Archive-name: assembly-language/x86/microsoft
  26. Posting-Frequency: monthly (21st of every month)
  27. Last-modified: 1996/02/17
  28.  
  29. ------------------------------
  30.  
  31. Subject: 1. Introduction and Intent
  32.  
  33. This is the x86 Assembly Language FAQ for the comp.lang.asm.x86 and
  34. alt.lang.asm newsgroups.  This FAQ is posted monthly on or about the 21st
  35. of the month on both newsgroups and news.answers, alt.answers and
  36. comp.answers.  It also is archived at the normal FAQ archival sites and the
  37. SimTel mirror sites in the msdos/info directory.  Lastly, the current
  38. version is available from my web page as:
  39.     http://www2.dgsys.com/~raymoon/faq/asmfaq.zip
  40. Currently, this FAQ is broken into six sections.  The following are the
  41. section filenames and the scope of each section of the FAQ.
  42.  
  43. assembly-language/x86/general/part1 - This is the basic portion of the FAQ
  44.     that contains information of interest to all assembly language
  45.     programmers.  In general, the information contained in this portion of
  46.     the FAQ is not specific to any particular assembler.
  47.  
  48. assembly-language/x86/general/part2 - This is a continuation of the above
  49.     FAQ.
  50.  
  51. assembly-language/x86/general/part3 - This is a continuation of the above
  52.     FAQ.
  53.  
  54. assembly-language/x86/microsoft - This portion of the FAQ contains
  55.     information specific for the Microsoft MASM.
  56.  
  57. assembly-language/x86/borland - This portion of the FAQ contains
  58.     information specific for the Borland TASM.
  59.  
  60. assembly-language/x86/a86 - This portion of the FAQ contains information
  61.     specific for the Shareware A86 Assembler and D86 Debugger.
  62.  
  63. The scope and content of this FAQ is to go beyond just answering the
  64. frequently asked questions.  I am including pointers to assembly language
  65. treasure troves that are hidden out on the internet.  I believe that this
  66. will enhance the FAQ's value not only to the novices but also to the old
  67. hands.
  68.  
  69. Any subject listed as "OPEN" means that this topic as been requested but no
  70. one has come forth and volunteered to write this section.  Volunteers
  71. please indicate your intentions to the author listed below either by
  72. posting to either newsgroup or by sending e-mail to the author at the below
  73. address.
  74.  
  75. The general guidelines for submission are:
  76.  *  accuracy and conciseness;
  77.  *  pointers to where on the internet more detailed information is
  78.     available; and
  79.  *  any code submitted will be generic so that most assemblers can assemble
  80.     successfully.
  81.  
  82. Any subject listed as "UNDER CONSTRUCTION" has a volunteer currently
  83. writing that subject.  If you desire to assist or have some information
  84. that you believe would be of help in writing that particular subject,
  85. contact the contributor of that subject or post to both newsgroups.  Once a
  86. subject is submitted to me, I will post it on both newsgroups for comment. 
  87. After any changes that may be necessary are made, I will include it in the
  88. next posting of the FAQ.
  89.  
  90. For the ease of determining what has changed since the last FAQ, the Table
  91. of Contents will have "REVISED" at the end of the subject line for all
  92. revised subjects.  If more than one FAQ revision has been missed, the "Last
  93. Changed:" entry at the end of each subject can be used to determine which
  94. subjects have been revised during the intervening time frame.
  95.  
  96. The information in this FAQ is free for all to use as long as you
  97. acknowledge the source.  This FAQ can be reproduced in part or in its
  98. entirety as long as the copyright is included.  This FAQ can be made
  99. available on public servers, like ftp, gopher or WWW servers.  Please do
  100. not modify the file, such as converting it into some other format, without
  101. prior permission of the author.
  102.  
  103. All references to files and locations are in Uniform Resource Locators
  104. (URLs) format.  Some web browser will be able to use these URLs directly as
  105. hot links.  If the format is not clear to you, get RFC 1738.  It is
  106. available from:   ftp://is.internic.net/rfc/rfc1738.txt 
  107.  
  108. Suggestions for changes and comments are always welcome.  They can be
  109. posted to either newsgroup or e-mailed directly to the me.
  110.  
  111. Author: Raymond Moon, raymoon@moonware.dgsys.com
  112. Copyright 1996 - Raymond Moon
  113. ALL RIGHTS RESERVED
  114. Last Changed: 17 Feb 96
  115.  
  116. ------------------------------
  117.  
  118. Subject: 2. Table Of Contents
  119.  
  120. 1.  Introduction And Intent
  121. 2.  Table Of Contents
  122. 3.  How To Get The Patch For MASM 6.11
  123. 4.  What Is And How To Access The Microsoft Knowledge Base
  124. 5.  Pentium Instruction Macros
  125. 6.  Acknowledgments
  126.     
  127. ------------------------------
  128.  
  129. Subject: 3. How To Get The Patch For MASM 6.11
  130.  
  131. There is a patch available from Microsoft for MASM 6.11.  This patch
  132. converts MASM 6.11 or 6.11a into the latest version MASM 6.11d.
  133.  
  134. To obtain this patch:
  135.  
  136.     ftp://ftp.microsoft.com/softlib/mslfiles/ML611D.EXE
  137.  
  138. ML611D.EXE is a self-extracting file which when executed will create the
  139. following files:
  140.  
  141.     ERRMSG.TXT      PATCH.RTP
  142.     H2INC.EXE       PATCH.RTD
  143.     H2INC.ERR       README.TXT
  144.     ML611D.TXT      SUPPORT.TXT
  145.     PATCH.EXE
  146.  
  147. All the instructions for installing the patch are contained in ML611D.TXT.
  148.  
  149. Contributor: Raymond Moon, raymoon@moonware.dgsys.com
  150. Last Changed: 2 Dec 95
  151.  
  152. ------------------------------
  153.  
  154. Subject: 4. What Is and How to Access the Microsoft Knowledge Base
  155.  
  156.  
  157. 4.1  WHAT IS THE MICROSOFT KNOWLEDGE BASE
  158.  
  159. The Microsoft Knowledge Base (KB) is a collection of articles that is
  160. maintained and used by the Microsoft Support personnel to answer customer
  161. questions.  Included in the Knowledge Base are detailed how-to articles,
  162. answers to technical support questions, bug lists, fix lists, and
  163. documentation errors.  This Knowledge Base is available to all on
  164. Microsoft's Internet Node.  An index of all the articles is available in a
  165. file, index.txt.
  166.  
  167. 4.2  HOW TO OBTAIN INDEX.TXT
  168.  
  169.     ftp://ftp.microsoft.com/developr/masm/kb/index.txt
  170.  
  171. 4.3  FILE FORMAT OF INDEX.TXT
  172.  
  173. The format of this file consists of three columns.
  174.  
  175.     Column One is the file type with the following meanings:
  176.         FIX         - Bug Fix
  177.         DOCERR      - Documentation Error
  178.         INF         - Information
  179.         PRB         - Problem
  180.         BUG         - Bug
  181.     Column Two is the path and file name in the following format: Qxxxyzz
  182.         where   the part,  Qxxx', is Q followed by two or three numbers and
  183.                     represents the first subdirectory under the kb
  184.                     subdirectory,
  185.                 the part,  y', is the next subdirectory under Qxxx, and
  186.                 The part,  zz', when combined with  .txt' is the filename.
  187.  
  188.                 ****WARNING**** Some of the Qs are uppercase and some are
  189.                 lower case.  Unlike DOS, the filenames and directory names
  190.                 are case sensitive.
  191.  
  192.     Column Three is a short description of the file.
  193.  
  194. 4.4  GETTING FILES
  195.  
  196. You can get all the files from the /developr/masm/kb directory without
  197. transversing this very strange directory structure by using the path in the
  198. get command.  As an example, let's say you want Q106399, a very useful file
  199. if you use Visual C++ (see below).  Using the parsing rules above, you can
  200. use the following get command:
  201.  
  202.     get q106/3/99.txt
  203.  
  204. 4.5  HOW TO ACCESS THE KNOWLEDGE BASE USING GOPHER
  205.  
  206.     There no longer is gopher access to microsoft.com
  207.  
  208. 4.6  HOW TO ACCESS USING WWW
  209.  
  210.     http://www.microsoft.com/kb
  211.     
  212.     Under "choose a product:" select Macro Assembler (MASM)
  213.     Type in key words in the next box
  214.     Click on the GO! button
  215.  
  216. Another www site for this knowledge base also is available.  It is:
  217.     http://emwac.ed.ac.uk/html/kb/masm.html
  218. To use this site, you must know the Q number.
  219.  
  220. 4.7  SOME EXAMPLE FILES FROM THE MICROSOFT KNOWLEDGE BASE
  221.  
  222. Q86815      Mixed C and MASM with MASM Main Language, No C Run-Time
  223. Q86816      Mixed C and MASM with MASM Main Language, C Run-Time
  224. Q101264     Assembling Code Developed for MASM 5.x with MASM 6.x
  225. Q106399     Using the Visual Workbench with MASM
  226. Q110598     Spontaneous Assembly and MASM 6.11 Errors
  227. Q123729     Accessing Command Line Arguments
  228.  
  229.     I have found Q106399 particularly helpful since I am really upset that
  230.     Microsoft did not include direct support of MASM from within the Visual
  231.     Workbench.
  232.  
  233. Contributor: Raymond Moon, raymoon@moonware.dgsys.com
  234. Last Changed: 17 Jan 96
  235.  
  236. ------------------------------
  237.  
  238. Subject 5. Pentium Instruction Macros
  239.  
  240. Macros that implement the new instructions available with the Pentium
  241. processor is available from intel.
  242.  
  243.     ftp://ftp.intel.com/pub/IAL/pentium/p5masm.mac
  244.  
  245. The new macros are:
  246.     CMPXCHG8B   - Compare and exchange eight bytes 
  247.     CPUID       - CPU Identification
  248.     RDTSC       - Read Time Stamp Counter
  249.     MOVTOCR4    - Move reg to CR4
  250.     MOVFROMCR4  - Move CR4 to reg
  251.     RDMSR       - Read Model Specific Register
  252.     WRMSR       - Write Model Specific Register
  253.     RSM         - Resume from SMM
  254.  
  255. Contributor: Raymond Moon, raymoon@moonware.dgsys.com
  256. Last Changed: 8 Jan 95
  257.  
  258. ------------------------------
  259.  
  260. Subject: 6. Acknowledgments
  261.  
  262. I would like to acknowledge all the people who have assisted me or any of
  263. the contributors.  For their time and effort, this FAQ is a better product.
  264.  
  265. Barry Brey, Daniel Cardenas and Kevin Weinrich 
  266.  
  267.  
  268.